package com.ap.core.domain;

import org.hibernate.annotations.TypeDef;

import javax.persistence.AttributeOverride;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * User: Rohit.Dixit
 *
 */
@Entity
@Table(name = "T_ADDRESS")
@AttributeOverride(name = "id",column = @Column(name = "ADDRESS_ID"))
@TypeDef(name = "id", typeClass = Long.class)
public class Address extends Identifiable<Long> {

	private static final long serialVersionUID = -8014284968814978277L;

    @Column(name = "ADDRESS_LINE1")
    private String addressLine1;

    @Column(name = "ADDRESS_LINE2")
    private String addressLine2;

    @Column(name = "ADDRESS_LINE3")
    private String addressLine3;

    @Column(name = "ADDRESS_LINE4")
    private String addressLine4;

    @Column(name = "ADDRESS_LINE5")
    private String addressLine5;

    @Column(name = "ADDRESS_LINE6")
    private String addressLine6;

    @Column(name = "POST_CODE")
    private String postCode;

    @Column(name = "COUNTRY_CODE")
    private String countryCode;
    

    private Address(){}

    public Address(String addressLine1, String addressLine2, String addressLine3,  String addressLine4, String addressLine5, String addressLine6,
                   String postCode,String countryCode) {
        this.addressLine1 = addressLine1;
        this.addressLine2 = addressLine2;
        this.addressLine3 = addressLine3;
        this.addressLine4 = addressLine4;
        this.addressLine5 = addressLine5;
        this.addressLine6 = addressLine6;
        this.postCode = postCode;
        this.countryCode = countryCode;

    }

    public String getAddressLine1() {
        return addressLine1;
    }

    public String getAddressLine2() {
        return addressLine2;
    }

    public String getAddressLine3() {
        return addressLine3;
    }

    public String getAddressLine4() {
        return addressLine4;
    }

    public String getAddressLine5() {
        return addressLine5;
    }

    public String getAddressLine6() {
        return addressLine6;
    }

    public String getCountryCode() {
        return countryCode;
    }

    public String getPostCode() {
        return postCode;
    }

}